#ifndef DOX_H
#define DOX_H
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/search/kdtree.h>

class Dox {
public:
  pcl::PointCloud<pcl::PointXYZINormal> total_sparse_point_cloud_with_normal;
  pcl::PointCloud<pcl::PointXYZ> current_sparse_point_cloud;
  pcl::PointCloud<pcl::PointXYZ> current_dense_point_cloud;
  // pcl::PointCloud<pcl::PointXYZINormal>
  // current_dense_point_cloud_with_normal;
  pcl::PointCloud<pcl::PointXYZINormal> current_sparse_point_cloud_with_normal;
  pcl::PointCloud<pcl::PointXYZINormal> pre_sparse_point_cloud_with_normal;
  pcl::PointCloud<pcl::PointXYZ> pre_sparse_point_cloud;
  pcl::PointCloud<pcl::Normal>::Ptr current_normal;
  pcl::PointCloud<pcl::PointXYZINormal>::Ptr
      current_point_with_normal_after_init_registration;
  pcl::PointCloud<pcl::FPFHSignature33> total_fpfh_feature;
  pcl::PointCloud<pcl::FPFHSignature33> current_fpfh_feature;
  pcl::PointCloud<pcl::FPFHSignature33> pre_fpfh_feature;
  pcl::search::KdTree<pcl::PointXYZ>::Ptr current_kdtree;
  Eigen::Matrix4f init_registration_transform_matrix;
  int cuurent_frame_numbers = 0;
};

#endif